package com.sdtv.mediunfusion.http;

import java.util.HashMap;

import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.Query;
import retrofit2.http.QueryMap;

/**
 * @ProjectName: MediunFusion
 * @Package: com.sdtv.mediunfusion.http
 * @ClassName: ApiService
 * @Description: java类作用描述
 * @Author: 小郭同学
 * @CreateDate: 2019-07-30 09:41
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public interface ApiService {

    /**
     * 获取某一个时间段的打卡记录
     * 可以是一天，一个月，或者一年
     *
     * @param date
     * @return
     */
    @GET("mobile/punch/list")
    Observable<String> getPunchLogging(@Query("date") String date);

    /**
     * 提交打卡
     *
     * @param param
     * @return
     */
    @POST("mobile/punch/add")
    @FormUrlEncoded
    Observable<String> punch(@FieldMap HashMap<String, String> param);

    /**
     * 获取通话记录
     *
     * @param param
     * @return
     */
    @GET("mobile/call/callRecords")
    Observable<String> getMeltCallList(@QueryMap HashMap<String, Integer> param);


    /**
     * 获取外采任务列表
     *
     * @param param
     * @return
     */
    @GET("mobile/externalTask/list")
    Observable<String> getTaskList(@QueryMap HashMap<String, Object> param);

    /**
     * 我的选题列表
     *
     * @param param
     * @return
     */
    @GET("mobile/selectTopic/list")
    Observable<String> getSelectList(@QueryMap HashMap<String, Object> param);

    /**
     * 获取报题的审核记录
     *
     * @param selectTopicId 报题ID
     * @return
     */
    @GET("mobile/selectTopic/auditLogList")
    Observable<String> getTopicAuditLogging(@Query("selectTopicId") String selectTopicId);

    /**
     * 获取选题详情信息
     *
     * @param selectTopicId
     * @return
     */
    @GET("mobile/selectTopic/detail")
    Observable<String> getTopicInfo(@Query("selectTopicId") String selectTopicId);

    /**
     * 获取部门列表
     * @return
     */
    @GET("mobile/common/departmentList")
    Observable<String> getDepartmentList();


}
